The present invention relates to a trainable transceiver and particularly to a radio frequency (RF) trainable transceiver for training to an activation signal for a device employing a variable code.
Electrically operated garage door opening mechanisms are an increasingly popular home convenience. Such garage door opening mechanisms typically employ a battery-powered portable RF transmitter for transmitting a modulated and encoded RF signal to a separate receiver located within the homeowner's garage. Each garage door receiver is tuned to the frequency of its associated remote transmitter and demodulates a predetermined code programmed into both the remote transmitter and the receiver for operating the garage door. Conventional remote transmitters have consisted of a portable housing which typically is clipped to a vehicle's visor or otherwise loosely stored in the vehicle. Over a period of years of use in a vehicle, these remote transmitters are lost, broken, become worn, dirty, and their mounting to a visor is somewhat unsightly. Also, they pose a safety hazard if not properly secured within a vehicle.
To solve some of these problems, U.S. Pat. No. 4,247,850 discloses a remote transmitter incorporated into a vehicle's visor and U.S. Pat. No. 4,447,808 discloses a remote transmitter incorporated in the vehicle's rearview mirror assembly. Incorporating a remote transmitter permanently in a vehicle accessory requires an associated receiving unit tuned to the same frequency as the transmitter and responsive to its modulation scheme and code to be purchased and installed in the vehicle owner's home. Vehicle owners who already own a garage door receiving unit are reluctant to purchase a new receiving unit associated with the remote transmitter permanently incorporated in their vehicle. Moreover, if a vehicle owner purchases a new car it is likely the owner would have to replace the garage door receiver with another one associated with the built-in remote transmitter in the new vehicle.
U.S. Pat. No. 4,241,870 discloses a housing built in an overhead console of a vehicle for removably receiving a specially adapted garage door remote transmitter such that the vehicle's battery provides operating power to the remote transmitter. Thus, when a vehicle owner purchases a new car, the remote transmitter may be removed from the old car and placed in the new car. However, the housing in the overhead console is not mechanically adapted to receive existing garage door remote transmitters, and therefore, the vehicle owner must purchase a specially adapted remote transmitter and an associated receiver.
U.S. Pat. No. 4,595,228 discloses an overhead console for a vehicle having a compartment with a drop down door for removably receiving an existing garage door remote transmitter. The door includes a panel which is movable for actuating the switch of the stored existing remote transmitter. A problem with this approach, however, is that remote transmitters for garage door openers vary considerably in shape and size and it is difficult to provide a housing that is mechanically compatible with the various brands of remote transmitters.
To solve all of the above problems, a trainable transceiver has been developed for incorporation in a universal garage door opener to be permanently located in a vehicle and powered by the vehicle's battery. This trainable transceiver is capable of learning the radio frequency, modulation scheme, and data code of an existing portable remote RF transmitter associated with an existing receiving unit located in the vehicle owner's garage. Thus, when a vehicle owner purchases a new car having such a trainable transceiver, the vehicle owner may train the transmitter to the vehicle owner's existing clip-on remote RF transmitter without requiring any new installation in the vehicle or home. Subsequently, the old clip-on transmitter can be discarded or stored.
If a different home is purchased or an existing garage door opener is replaced, the trainable transceiver may be retrained to match the frequency and code of any new garage door opener receiver that is built into the garage door opening system or one which is subsequently installed. The trainable transceiver can be trained to any remote RF transmitter of the type utilized to actuate garage door opening mechanisms or other remotely controlled devices such as house lights, access gates, and the like. It does so by learning not only the code and code format (i.e., modulation scheme), but also the particular RF carrier frequency of the signal transmitted by any such remote transmitter. After being trained, the trainable transceiver actuates the garage door opening mechanism without the need for the existing separate remote transmitter. Because the trainable transceiver is an integral part of a vehicle accessory, the storage and access difficulties presented by existent "clip-on" remote transmitters are eliminated. Two such trainable transceivers are disclosed in U.S. Pat. No. 5,442,340 entitled "TRAINABLE RF TRANSMITTER INCLUDING ATTENUATION CONTROL" and U.S. Pat. No. 5,475,366, and entitled "ELECTRICAL CONTROL SYSTEM FOR VEHICLE OPTIONS," the disclosures of which are incorporated by reference herein.
Due to the emergence of "code grabbers," who use portable single frequency trainable transmitting devices to learn a code transmitted by an unsuspecting victim for subsequent use in stealing a victim's car equipped with a remote keyless entry system or possibly breaking into a victim's house that has an RF actuated garage door opener, manufacturers of garage door opening mechanisms are considering implementing cryptographic algorithms that generate variable codes in their transmitters and in the associated receivers to decrease the likelihood that a code grabber may successfully enter someone's garage after memorizing a particular transmitted code. For example, if a variable code were utilized and a code grabber learned a single code transmitted from the owner's transmitter, the receiver of the system would not respond to the code subsequently transmitted by the code grabber since the receiver will, assuming the victim has subsequently used the system, only respond to a different code in accordance with the cryptographic algorithm.
Various cryptographic algorithms and methods of implementing such algorithms are known in the art of remote keyless entry systems for vehicles. A general description of such methods are disclosed in a publication entitled "Designing Codes for Vehicle Remote Security Systems" by John Gordon, dated October 1994, and published by Home Office, Police Scientific Development Branch, Sandridge, St. Albans, UK. Systems using variable codes send different codes on different occasions. In this paper, two types of time-varying codes are described--rolling codes and real-time codes. Rolling codes are codes that successively vary each time a code is transmitted by the transmitter in accordance with a cryptographic algorithm stored in the transmitter. In such systems, the receiver stores the same cryptographic algorithm as the transmitter and recognizes each successive and different code transmitted by the transmitter as legitimate provided it corresponds to a code the receiver expects to be transmitted next in accordance with the cryptographic algorithm. To keep track of which code is to be transmitted or received next, sequential serial numbers are stored that identify which code was transmitted or received last, such that the next code will have associated therewith the next sequential serial number.
Real-time codes are codes that vary in accordance with a cryptographic algorithm at predetermined periodic intervals as measured by a real-time clock in each of the transmitter and receiver. To ensure such clocks are synchronized, the clock in the receiver may be re-synchronized each time a legitimate code is transmitted by the transmitter.
Synchronizing a rolling code presents its own problems because a new code is generated by the transmitter each time the transmitter is actuated for transmission. Thus, if the transmitter is actuated outside the range of the receiver, the receiver will expect a different code than the transmitter will subsequently transmit. Further, if the last transmitted code is stored in volatile memory and power is interrupted to either the transmitter or receiver, the transmitter and receiver become out of sync. There exists various methods of dealing with this problem, a few of which are described in the above-mentioned paper by John Gordon. In one method, the receiver may accept a code falling within a predefined window of subsequent codes that the transmitter may transmit in accordance with the cryptographic algorithm for rolling the code that was last transmitted. In no event would a code be accepted that is the same as that last transmitted since such a code could represent a learned code transmitted by a code grabber. The selected size of the window reflects a tradeoff between security and ease of use--the larger the window, the more likely the receiver will accept a randomly generated code resulting in a less secure system, the smaller the window the more likely that the system will become completely out of sync thereby frustrating the legitimate user.
Another method for dealing with the synchronization problem, is a two-entry re-synchronization method in which the receiver is programmed to accept any two consecutive legitimate codes if the first received code is not what the receiver expected. Thus, if the garage door fails to open following the first transmission due to an unexpected code, the user actuates the transmitter a second time causing the next successive code to be transmitted and causing the receiver to determine whether the two consecutively transmitted codes represent a legitimate combination in accordance with the cryptographic algorithm.
Yet another method of re-synchronizing a transmitter and receiver is to provide means for transmitting a re-synchronization or re-start signal from the transmitter by actuating a special push-button or combination of push-buttons. Still another method is to provide a push-button on the receiver, which, when actuated, causes the receiver to accept and re-synchronize on the next transmitted code from the transmitter.
Another way in which a transmitter and receiver could become out of sync is if more than one transmitter is used to activate the garage door. In this case, an ID code may be transmitted with each activation signal and the receiver may be adapted to recognize the transmitted ID and access a separate record corresponding to the ID to determine which code(s) is expected next from the transmitter with the transmitted ID.
Because the use of time-varying or other variable codes will hinder a would-be code grabber, thieves may attempt to open a garage door by scanning through codes until a code is transmitted that will actuate the garage door. To prevent this possibility a receiver may be programmed to refuse to accept a code after a predetermined number of unsuccessful attempts have been made to actuate the garage door. Scanning can also be inhibited by utilizing an extremely large range of codes by using a code word of 32 or more bits.
In the above-mentioned paper, Professor Gordon states that system designers should not assume that their cryptographic algorithms will remain a secret. Therefore, Professor Gordon recommends cryptographic algorithms that use a cryptographic key, which is unique to the set of transmitters and receivers for each particular system. Thus, even if a would be thief knows the cryptographic algorithm, the thief would also have to know the unique cryptographic key used by the algorithm as stored in the receiver. Such cryptographic keys would typically be stored in the transmitter and receiver but would normally not be transmitted by the transmitter or otherwise obtainable by a potential thief. Further, by utilizing a cryptographic key of 32 bits or more, the likelihood that a thief could guess the key is virtually impossible.
Because of the emergence of code grabbers, manufacturers of garage door opening systems will wish to make their systems as secure as possible. The more secure the system is, however, the more difficult it may be for the legitimate users of the system to train their vehicle's trainable transceiver to the codes that must be transmitted to actuate their garage door. Thus, the use of variable codes by manufacturers of garage door opening systems poses difficult problems in designing trainable transceivers that must be capable of transmitting a learned RF signal and in addition a code that varies. This problem not only raises difficulties for the manufacturers of vehicle-installed trainable transceivers, but also raises a tradeoff for the manufacturers of the garage door opening systems, who wish for their systems to be compatible with the vehicle-installed trainable transceivers and to be secure from code grabbers.